This invention relates to a message transmission system and more particularly, to a system for the secure transmission of multi-block data messages from a sending station to a receiving station.
Present-day data processing systems are increasing in complexity and may include networks involving a host processor or processors connected to local terminals of I/O devices which, in some instances, may involve long cable connections, and/or via communication lines to remote terminals or remote subsystems which, in turn, may likewise be connected onward to local or remote terminals or I/O devices. Furthermore, many of the terminals and/or I/O devices may have removeable storage media associated therewith. Because of the potential accessibility of the communication lines, the long cable connections and the removable storage media, there is increasing concern over the interception or alteration of data during message transmissions within the networks of the data processing system. Cryptography has been recognized as one type of process for achieving data security and privacy of such data transmissions in that it protects the data itself rather than the data transmitting medium.
Various cryptographic arrangements have been developed in the prior art for maintaining the security and privacy of data transmissions between a sending station and a receiving station. Block ciphering is one such arrangement by which a block cipher device, operating in a ciphering cycle of operation, ciphers a block of data bits under control of a set of cipher key bits. In data message transmission systems where block ciphering is used, the block cryptographic apparatus of the sending station ciphers an input block of data bits under control of the set of cipher key bits to produce an output block of unintelligible ciphered data bits which cannot be understood without knowledge of the cipher key. The resulting output block of ciphered data bits is then transmitted to the receiving station where the block cryptographic apparatus of the receiving station deciphers the output block of ciphered data bits under control of the same set of cipher key bits in inverse fashion to that of the enciphering process to produce the original input block of data bits. Examples of block ciphering are described in U.S. Pat. No. 3,798,359 issued March 19, 1974 and U.S. patent application Ser. No. 552,685 commonly assigned to the same assignee as the present application.
In block ciphering, each data bit of the output block is a complex function of all the data bits of the input block and the set of cipher key bits. Consequently, any change of a single input data bit affects all output data bits. This property of block ciphering permits the inclusion of an authentication field in the input block of data bits which may be used for verification of data transmission between the sending station and a receiving station. One such approach taken in the prior art is to include a password with the input block of data bits to be transmitted from the sending station to the receiving station. The input block of data bits is then ciphered by means of block cryptographic apparatus at the sending station and the resulting output block of ciphered data bits is then transmitted to the receiving station. At the receiving station, the received output block of ciphered data bits is deciphered by means of block cryptographic apparatus. If the communication is uncorrupted, then the deciphered block of data bits will be identical to the original input block of data bits. If the receiving station has a copy of the password, then it may be matched against the deciphered password to verify the block transmission. Examples of this technique are described in U.S. Pat. No. 3,798,360 and U.S. Pat. No. 3,798,605, both issued Mar. 19, 1974.
In such an arrangement where multiple blocks of data bits are to be transmitted between the sending station and the receiving station, the successive input blocks of data bits are block ciphered by the block cryptographic apparatus of the sending station, operating in successive cycles of operation under control of the same set of cipher key bits, to produce successive output blocks of ciphered data bits. The output message of the sending station is then transmitted to the receiving station where the block cryptographic apparatus of the receiving station, operating in successive cycles of operation under control of the same set of cipher key bits in inverse fashion to produce the original multiple blocks of data bits. Any change of a single data bit in any block of the output message transmitted to the receiving station, while still affecting all the deciphered data bits of the corresponding deciphered block of data bits, will have no effect on any of the other deciphered blocks of the data message. As a result, to verify the entire message transmission, it is necessary to include a password with each block of data bits transmitted from the sending station to the receiving station. Because of the necessity of including a password with each transmitted block of data bits, the throughput efficiency of the system is degraded.